define(["require","jquery","notify_comm","dataTables_comm","String","Dataset"],
    function(require,$,notify_comm,dataTables_comm,String,Dataset){

        var data_tables = null;

        //初始化表格
        var _initTable = function(){

            //初始化异步数据请求
            var ajax_params = {
                url:"/etl/error_log/pagelist",  //请求URL地址
                data:{}//查询参数
            };
            //列数据 data 对应服务端访问的json 数据 key ,title 表头显示名称
            var columns = [
                {"data":"define_id","title":"etl定义"},
                {"data":"table_id","title":"表"},
                {"data":"column_name","title":"列名"},
                {"data":"error_code","title":"错误编码"},
                {"data":"error_msg","title":"错误信息"},
                {"data":"create_time","title":"创建时间"},
                {"data":"id","title":"ID","visible": false}
            ];
            //自定义按钮
            var buttons = [
                {
                    "id":"searchData",      //按钮ID
                    "name":"searchData",    //按钮名称
                    "text":"查询数据",   //按钮显示文件
                    "icons":"fa-align-left", //显示图标
                    "callback": _btnSearchClick
                }
            ];
            //默认按钮是否隐藏 true: 隐藏 false:显示 ，不传对应的参数，默认显示按钮
            var default_buttons = [
                {"select":true,"callback":null},//选择下拉按钮
                {"export":false,"callback":null}//导出下拉按钮
            ];
            //封装参数
            var options = {
                "id":"etl_error_log", //tableID
                "language":"zh_CN", //语言参数
                "ajax_params":ajax_params, //异步请求参数
                "columns":columns,//表列数据参数
                "buttons":buttons, //自定义按钮参数
                "default_buttons":default_buttons, //默认按钮
                "colReorder":true//列位置调整
            };

            //调用表格初始化方法
            data_tables = dataTables_comm.dataTables_init(options,null);
            $("#etl_error_log").colResizable();//列宽度调整

        };

        //查询
        var _btnSearchClick = function () {
            var param = {"code":$("#param_code").val(),"table_name":$("#param_table_name").val(),"define_name":$("#param_define_name").val()};
            var query_params = {"queryData":JSON.stringify(param)};
            $('#etl_error_log').dataTable().fnSettings().ajax.data = query_params; //参数传递，fnSettings 初始化参数不用用 大写的 DataTable(),只能用小写dataTable();
            $('#etl_error_log').dataTable().fnDraw(false);//true刷新页面到第一页，false当前页
        };

        //函数初始化
        var init = function(){
            _initTable();
        };

        //返回
        return {
            init:init
        }

    });